// function getNthFibonacci(count) {
//     if (count == 0) {
//         return 1;
//     } else if (count == 1) {
//         return 1;
//     } else {
//         return getNthFibonacci(count - 1) + getNthFibonacci(count - 2);
//     }
// }

// console.log(getNthFibonacci(5));


//f
//f(n)=f(n-1)+f(n-2);
// 
function f(n) {
    if (n == 1 || n == 2) {
        return 1;
    } else {
        return f(n - 1) + f(n - 2);
    }
}

function fm(n) {
    if (n == 1 || n == 2) {
        return 1;
    } else {
        let m = new Map();
        m.set(1, 1);
        m.set(2, 1);
        for (var i = 3; i <= n; i++) {

            m.set(i, m.get(i - 1) + m.get(i - 2));
        }
        return m.get(n)
    }
}

let p = Promise.resolve()
p.then(() => {
    console.log(fm(40),"fm");
})

let p1 = Promise.resolve()
p1.then(() => {
    console.log(f(40),"f");
})



